The present invention relates generally to data processing systems and, more particularly, to graphical user interfaces for data processing systems.
An operating system is a program that, after being initially loaded into a computer by a bootstrap program, manages application programs that perform various data processing tasks. Application programs make use of an operating system by making requests for services through a defined application program interface (API). Examples of application programs include word processors, database programs, web browsers, image editing programs, and communication programs. UNIX(copyright) and Windows 95(copyright) are well known examples of operating systems.
The first interactive user interfaces for computers were text-oriented interfaces in which users typed various commands. The command interface of the Microsoft(copyright) Disk Operating System (MS-DOS) is an example of a text-oriented user interface. By contrast, many operating systems today utilize a graphical user interface (GUI) having a xe2x80x9cwindow-likexe2x80x9d workspace (often referred to as a xe2x80x9cdesktopxe2x80x9d) for displaying application programs, operating system information such as directory information, and program groupings. An exemplary desktop 10 for the Windows 95(copyright) operating system is illustrated in FIG. 1. FIG. 2 illustrates a GUI 12 for an application program displayed within the Windows 95(copyright) operating system desktop 10. A word processing application program is associated with the illustrated GUI 12.
A GUI control is an element (also referred to as a xe2x80x9cwidgetxe2x80x9d) that displays information with a GUI or provides a specific way for a user to interact with an operating system and/or with an application program via a GUI. GUI controls may include iconic text buttons, pull-down menus, selection boxes, progress indicators, on-off checkmarks, scroll bars, windows, toggle buttons, forms, and many other devices for displaying information and for inviting, accepting, and responding to user actions within a GUI.
As is known to those skilled in the art, user actions within a GUI are typically performed with an input device, such as a mouse, and a corresponding screen pointer. A mouse, or other mechanical-electrical device, translates two-dimensional movement into two-dimensional screen position movement. When a mouse is moved freely on a surface, a pointer on a screen typically moves in a similar and proportional manner. A mouse typically has one or more push buttons which can be used to effectuate control over a cursor pointer by selecting or deselecting specific GUI controls and other objects. A cursor pointer is typically xe2x80x9cactivatedxe2x80x9d when a mouse button is depressed and remains active until the button is released. Pointer activation may also be initiated by sequences of mouse button presses, such as a xe2x80x9cdouble clickxe2x80x9d or rapid button press twice in sequence.
The illustrated application program GUI 12 of FIG. 2 includes GUI controls 14a, 14b for minimizing and maximizing the size of the application program GUI 12, respectively. A GUI control 14c is also provided for closing and removing the application program GUI 12 from the desktop 10. A plurality of GUI controls are also provided within toolbars 16a, 16b, as illustrated. For example, GUI control 17 is provided for printing a document from the application program displayed within the application program GUI 12. GUI control 18 is provided for underlining portions of text within a document in the application program displayed within the application window 12.
Conventional GUIs typically rely heavily upon a window manager system of an operating system desktop within which a GUI is deployed for supplying and supporting various GUI controls. As a result, a GUI designed for display and operation within the Windows 95(copyright) operating system may not be displayable or operable within a UNIX(copyright) operating system. Separate, operating system-specific GUI code is typically necessary to implement a GUI within different operating system desktops. In addition, because operating systems can allow multiple application programs to execute at the same time within a computer, it is often desirable for GUIs associated with an application program to share display screen space.
In view of the above, it is an object of the present invention to facilitate the implementation of a GUI for an application program that can be utilized within multiple operating systems and web browsers.
It is another object of the present invention to facilitate conservation of screen space when a GUI is displayed via a display device.
These and other objects of the present invention are provided by systems, methods and computer program products for displaying a graphical user interface (GUI) within a display device of a computer, wherein GUI functions are entirely self-contained within the GUI and are independent of the computer operating system. A first panel, having a display area configured to display information associated with an application program executing within the computer, is displayed within the operating system desktop (or browser window). A second panel is displayed within the desktop (or browser window) and is positioned beneath the first panel. The second panel is movably associated with the first panel between a hidden position beneath the first panel and an exposed position adjacent the first panel. A slider object or tab is responsive to user-performed dragging operations via a pointer for moving the second panel between hidden and exposed positions.
At least one GUI control is provided on the first and second panels and is independent of the computer operating system within which the GUI is running. Each GUI control is configured to control display of information associated with the application program within the first panel display area. Furthermore, each GUI control naturally inherits at least one style property, such as color, shape and typography, from the operating system thereby maintaining the look and feel of the particular operating system. In response to user actions, the second panel is movable between hidden and exposed positions. GUI controls according to the present invention are independent of the operating system because they are not obtained from the operating system window frame (i.e., the GUI controls are not provided by the window manager of the windowing system of the operating system). However, GUI controls within a GUI according to the present invention can have the visual style of the operating system.
Because GUIs according to the present invention are provided independently of an operating system, GUI consistency can be maintained no matter what operating system the GUI is running within. Accordingly users need only learn to use a single GUI no matter how many operating systems or browsers they are required to use. Although GUI functionality is independent of an operating system, look and feel of an operating system within a GUI according to the present invention can be maintained.